home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / ietf / urn / urn-archives / urn-ietf.archive.9709 / 000005_owner-urn-ietf _Thu Sep 25 19:54:57 1997.msg < prev    next >
Internet Message Format  |  1997-09-29  |  60KB

  1. Received: (from daemon@localhost)
  2.     by services.bunyip.com (8.8.5/8.8.5) id TAA25145
  3.     for urn-ietf-out; Thu, 25 Sep 1997 19:54:57 -0400 (EDT)
  4. Received: from mocha.bunyip.com (mocha.Bunyip.Com [192.197.208.1])
  5.     by services.bunyip.com (8.8.5/8.8.5) with ESMTP id TAA25140
  6.     for <urn-ietf@services.bunyip.com>; Thu, 25 Sep 1997 19:54:46 -0400 (EDT)
  7. Received: from lysithea.lcs.mit.edu (lysithea.lcs.mit.edu [18.26.0.187])
  8.     by mocha.bunyip.com (8.8.5/8.8.5) with SMTP id TAA28080
  9.     for <urn-ietf@bunyip.com>; Thu, 25 Sep 1997 19:51:14 -0400 (EDT)
  10. Received: (from sollins@localhost) by lysithea.lcs.mit.edu (8.6.9/8.6.9) id TAA17597; Thu, 25 Sep 1997 19:54:33 -0400
  11. Date: Thu, 25 Sep 1997 19:54:33 -0400
  12. Message-Id: <199709252354.TAA17597@lysithea.lcs.mit.edu>
  13. From: "Karen R. Sollins" <sollins@LCS.MIT.EDU>
  14. To: urn-ietf@bunyip.com
  15. Subject: [URN] new version (long msg)
  16. Sender: owner-urn-ietf@Bunyip.Com
  17. Precedence: bulk
  18. Reply-To: "Karen R. Sollins" <sollins@LCS.MIT.EDU>
  19. Errors-To: owner-urn-ietf@Bunyip.Com
  20.  
  21. Attached is the new version of the internet draft I'm working on.  It
  22. has not changed significantly - it incorporates some minor comments
  23. from Leslie.  For those of you who were not in Munich, there were no
  24. comments or discussion of this document at that time.  It will also be
  25. available from the IETF shortly.  Please let me know of any comments
  26. or reactions.
  27.  
  28.             Karen
  29.  
  30. ______________________________
  31.  
  32. Internet Draft                                          Karen R. Sollins
  33. draft-ietf-urn-req-frame-04.txt                                  MIT/LCS
  34. Expires March 26, 1998                                September 26, 1997
  35.  
  36.        Architectural Principles of Uniform Resource Name Resolution
  37.  
  38.  
  39. Status of this draft
  40.      This document is an Internet-Draft.  Internet-Drafts are working
  41.      documents of the Internet Engineering Task Force (IETF), its
  42.      areas, and its working groups.  Note that other groups may also
  43.      distribute working documents as Internet-Drafts.
  44.  
  45.      Internet-Drafts are draft documents valid for a maximum of six
  46.      months and may be updated, replaced, or obsoleted by other
  47.      documents at any time.  It is inappropriate to use Internet-
  48.      Drafts as reference material or to cite them other than as
  49.      ``work in progress.''
  50.  
  51.      To learn the current status of any Internet-Draft, please check
  52.      the ``1id-abstracts.txt'' listing contained in the Internet-
  53.      Drafts Shadow Directories on ftp.is.co.za (Africa),
  54.      nic.nordu.net (Europe), munnari.oz.au (Pacific Rim),
  55.      ds.internic.net (US East Coast), or ftp.isi.edu (US West Coast).
  56.  
  57.  
  58. Abstract:
  59.  
  60. This document addresses the issues of the discovery of URN (Uniform
  61. Resource Name) resolver services that in turn will directly translate
  62. URNs into URLs (Uniform Resource Locators) and URCs (Uniform Resource
  63. Characteristics).  The document falls into three major parts, the
  64. assumptions underlying the work, the guidelines in order to be a
  65. viable Resolver Discovery Service or RDS, and a framework for
  66. designing RDSs.  The guidelines fall into three principle areas:
  67. evolvability, usability, and security and privacy.  An RDS that is
  68. compliant with the framework will not necessarily be compliant with
  69. the guidelines.  Compliance with the guidelines will need to be
  70. validated separately.
  71.  
  72. Table of Contents
  73.  
  74. 1.    Introduction...................................................2
  75. 2.    Assumptions....................................................4
  76. 3.    Guidelines.....................................................6
  77. 3.1   Evolution......................................................6
  78. 3.2   Usability......................................................8
  79. 3.2.1 The Publisher..................................................9
  80. 3.2.2 The Client....................................................10
  81. 3.2.3 The Management................................................11
  82. 3.3   Security and Privacy..........................................12
  83. 4.    The Framework.................................................15
  84. 5.    Acknowledgements..............................................18
  85. 6.    References....................................................18
  86. 7.    Contact Information...........................................19
  87.  
  88.                                  - 1 -
  89.  
  90. 1. Introduction
  91.  
  92. The purpose of this document is to lay out the engineering criteria
  93. for what we will call here a Resolver Discovery Service (RDS), a
  94. service to help in the learning about URN (Uniform Resource Name)
  95. resolvers.  The term "resolver" is used in this document to indicate a
  96. service that translates URNs to URLs (Uniform Resource Locators) or
  97. URCs (Uniform Resource Characteristics).  Some resolvers may provide
  98. direct access to resources as well.  An RDS helps in finding a
  99. resolver to contact for further resolution.  It is worth noting that
  100. some RDS designs may also incorporate resolver functionality.  This
  101. function of URN resolution is a component of the realization of an
  102. information infrastructure.  In the case of this work, that
  103. infrastructure is to be available, "in the Internet" or globally, and
  104. hence the solutions to the problems we are addressing must be globally
  105. scalable.  In this document, we are focussing specifically on the
  106. design of RDS schemes.
  107.  
  108. The Uniform Resource Identifier Working Group defined a naming
  109. architecture, as demonstrated in a series of three RFCs 1736[1],
  110. 1737[2], and 1738[3].  Although several further documents are needed to
  111. complete the description of that architecture, it incorporates three
  112. core functions often associated with "naming": identification, location,
  113. and mnemonics or semantics.  By location, we mean fully-qualified Domain
  114. Names or IP addresses, possibly extended with TCP ports and/or local
  115. identifiers, such as pathnames.  Names may provide the ability to
  116. distinguish one resource from another, by distinguishing their "names".
  117. Names may help to provide access to a resource by including "location"
  118. information.  In addition, names may have other semantic or mnemonic
  119. information that either helps human users remember or figure out the
  120. names, or includes other semantic information about the resource being
  121. named.  The URI working group concluded that there was need for
  122. persistent, globally unique identifiers, distinct from location or other
  123. semantic information; these were called URNs.  These "names" provide
  124. identity, in that if two of them are "the same" (under some simple rule
  125. of canonicalization), they identify the same resource.  Furthermore, the
  126. group decided that these "names" were generally to be for machine,
  127. rather than human, consumption.  Finally, with these guidelines for
  128. RDS's, this group has recognized the value of the separation of name
  129. assignment management from name resolution management.
  130.  
  131. In contrast to URNs, one can imagine a variety human-friendly naming
  132. (HFN) schemes supporting different suites of applications and user
  133. communities.  These will need to provide mappings to URNs in tighter
  134. or looser couplings, depending on the namespace.  It is these HFNs
  135. that will be mnemonic, content-full, and perhaps mutable, to track
  136. changes in use and semantics.  They may provide nicknaming and other
  137. aliasing, relative or short names, context sensitive names,
  138. descriptive names, etc.  Their definition is not part of this effort,
  139. but will clearly play an important role in the long run.
  140.  
  141. URNs as described in RFC 1737 are defined globally; they are
  142. ubiquitous in that a URN anywhere in any context identifies the same
  143. resource.  Given this requirement on URNs, one must ask about its
  144. implication for an RDS.  Does ubiquity imply a guarantee of RDS
  145.  
  146.                                  - 2 -
  147.  
  148. resolution everywhere?  Does ubiquity imply resolution to the same
  149. information about resolution everywhere?  In both cases the answer is
  150. probably not.  One cannot make global, systemic guarantees, except at an
  151. expense beyond reason.  In addition there may be policy as well as
  152. technical reasons for not resolving in the same way everywhere.  It is
  153. quite possible that the resolution of a URN to an instance of a resource
  154. may reach different instances or copies under different conditions.
  155. Thus, although a URN anywhere refers to the same resource, in some
  156. environments under some conditions, and at different times, due to
  157. either the vagaries of network conditions or policy controls a URN may
  158. sometimes be resolvable and other times or places not.  Ubiquitous
  159. resolution cannot be assumed simply because naming is ubiquitous.  On
  160. the other hand wide deployment and usage will be an important feature of
  161. any RDS design.
  162.  
  163. Within the URI community there has been a concept used frequently that
  164. for lack of a better term we will call a _hint_.  A hint is something
  165. that helps in the resolution of a URN; in theory we map URNs to hints
  166. as an interim stage in accessing a resource.  In practice, an RDS may
  167. map a URN directly into the resource itself if it chooses to.  It is
  168. very likely that there will be hints that are applicable to large sets
  169. of URNs, for example, a hint that indicates that all URNs with a
  170. certain prefix or suffix can be resolved by a particular resolver.  A
  171. hint may also have meta-information associated with it, such as an
  172. expiration time or certification of authenticity.  We expect that
  173. these will stay with a hint rather than being managed elsewhere.  We
  174. will assume in all further discussion of hints that they include any
  175. necessary meta-information as well as the hint information itself.
  176. Examples of hints are: 1) the URN of a resolver service that may
  177. further resolve the URN, 2) the address of such a service, 3) a
  178. location at which the resource was previously found.  The defining
  179. feature of hints is that they are only hints; they may be out of date,
  180. temporarily invalid, or only applicable within a specific locality.
  181. They do not provide a guarantee of access, but they probably will help
  182. in the resolution process.  By whatever means available, a set of
  183. hints may be discovered.  Some combination of software and human
  184. choice will determine which hints will be tried and in what order.
  185.  
  186. We must assume that most resolutions of URNs will be provided by the
  187. use of locally stored hints, because maintaining a database of
  188. globally available, completely up-to-date location information is
  189. infeasible for performance reasons.  There are a number of
  190. circumstances in which one can imagine that hints become invalid,
  191. either because a resource has moved or because a different URN
  192. resolver service has taken over the responsibility for resolution of
  193. the URN.  Hints may be found in a variety of places.  It is generally
  194. assumed that a well engineered system will maintain or cache a set of
  195. hints for each URN at each location where that URN is found.  These
  196. may have been acquired from the owner of the resources, a
  197. recommendation of the resource, or one of many other sources.  In
  198. addition, for those situations in which those hints found locally
  199. fail, a well engineered system will provide a fall-back mechanism for
  200. discovering further hints.  It is this fall-back mechanism, an RDS,
  201. that is being addressed in this document.  As with all hints, there
  202. can never be a guarantee that access to a resource will be available
  203. to all clients, even if the resource is accessible to some.  However,
  204.  
  205.                                  - 3 -
  206.  
  207. an RDS is expected to work with reasonably high reliability, and,
  208. hence, may result in increased response time.
  209.  
  210. The remainder of this document falls into three sections.  The first
  211. identifies several sets of assumptions underlying this work.  There are
  212. three general assumptions:
  213.    * URNs are persistent;
  214.    * URN assignment can be delegated;
  215.    * Decisions can be made independently, enabling isolation from
  216.      decisions of one's peers.
  217.  
  218. The next section lays out three central principles Resolver Discovery
  219. Service design.  For each of these, we have identified a number of
  220. more specific guidelines that further define and refine the general
  221. principle.  This section is probably the most critical of the
  222. document, because one must hold any proposed RDS scheme up against
  223. these principles and corollary guidelines to learn whether or not it
  224. is adequate.  The three central principles can be summarized as:
  225.    1) An RDS must allow for evolution and evolvability;
  226.    2) Usability of an RDS with regard to each of the sets of 
  227.       constituents involved in the identification and location or
  228.       resources is paramount;
  229.    3) It is centrally important that the security and privacy needs of
  230.       all constituents be feasibly supported, to the degree possible.
  231. Each of the three major subsections of the guidelines section begins
  232. with a summary list of the more detailed guidelines identified in that
  233. section.
  234.  
  235. The final section of the document lays out a framework for such RDSs.
  236. The purpose of this last section is to bound the search space for RDS
  237. schemes.  The RDS designer should be aware that meeting the guidelines
  238. is of primary importance; it is possible to meet them without
  239. conforming to the framework.  As will be discussed further in this
  240. last section, designing within the framework does not guarantee
  241. compliance, so compliance evaluation must also be part of the process
  242. of evaluation of a scheme.
  243.  
  244. 2. Assumptions
  245.  
  246. Based on previous internet drafts and discussion in both the URN BOFs
  247. and on the URN WG mailing list, three major areas of assumptions are
  248. apparent: longevity, delegation, and independence.  Each will be
  249. discussed separately.
  250.  
  251. The URN requirements[2] state that a URN is to be a "persistent
  252. identifier".  It is probably the case that nothing will last forever,
  253. but in the time frame of resources, users of those resources, and the
  254. systems to support the resources, the identifier should be considered
  255. to be persistent or have a longer lifetime than those other entities.
  256. There are two assumptions that are implied by longevity of URNs:
  257. mobility and evolution.  Mobility will occur because resources may
  258. move from one machine to another, owners of resources may move among
  259. organizations, or the organizations themselves may merge, partition,
  260. or otherwise transforms themselves.  The Internet is continually
  261. evolving; protocols are being revised, new ones created, while
  262. security policies and mechanisms evolve as well.  These are only
  263. examples.  In general, we must assume that almost any piece of the
  264.  
  265.                                  - 4 -
  266.  
  267. supporting infrastructure of URN resolution will evolve.  In order to
  268. deal with both the mobility and evolution assumptions that derive from
  269. the assumption of longevity, we must assume that users and their
  270. applications can remain independent of these mutating details of the
  271. supporting infrastructure.
  272.  
  273. The second assumption is that naming and resolution authorities may
  274. delegate some of their authority or responsibility; in both cases, the
  275. delegation of such authority is the only known method of allowing for
  276. the kind of scaling expected.  It is important to note that a
  277. significant feature of this work is the potential to separate name
  278. assignment, the job of labelling a resource with a URN, from name
  279. resolution, the job of discovering the resource given the URN.  In
  280. both cases, we expect multi-tiered delegation.  There may be RDS
  281. schemes that merge these two sets of responsibilities and delegation
  282. relationships; by doing so, they bind together or overload two
  283. distinctly different activities, thus probably impeding growth.
  284.  
  285. The third assumption is independence or isolation of one authority
  286. from another and, at least to some extent, from its parent.  When one
  287. authority delegates some of its rights and responsibilities to another
  288. authority, the delegatee can operate in that domain independently of
  289. its peers and within bounds specified by the delegation, independently
  290. of the delegator.  This isolation is critically important in order to
  291. allow for independence of policy and mechanism.
  292.  
  293. This third assumption has several corollaries.  First, we assume that
  294. the publisher of a resource can choose resolver services, independently
  295. of choices made by others.  At any given time, the owner of a namespace
  296. may choose a particular URN resolver service for that delegated
  297. namespace.  Such a URN resolver service may be outside the RDS service
  298. model, and only identified or located by the RDS service.  Second, it
  299. must be possible to make a choice among RDS services.  The existence of
  300. multiple RDS services may arise from the evolution of an RDS service, or
  301. development of new ones.  Although at any given time there is likely to
  302. be only one or a small set of such services, the number is likely to
  303. increase during a transition period from one architecture to another.
  304. Thus, it must be assumed that clients can make a choice among a probably
  305. very small set of RDSs.  Third, there must be independence in the choice
  306. about levels and models of security and authenticity required.  This
  307. choice may be made by the owner of a naming subspace, in controlling who
  308. can modify hints in that subspace.  A naming authority may delegate this
  309. choice to the owners of the resources named by the names it has
  310. assigned.  There may be limitations on this freedom of choice in order
  311. to allow other participants to have the level of security and
  312. authenticity they require, for example, in order to maintain the
  313. integrity of the RDS infrastructure as a whole.  Fourth, there is an
  314. assumption of independence of choice of the rule of canonicalization of
  315. URNs within a namespace, limited by any restrictions or constraints that
  316. may have been set by its parent namespace.  This is a choice held by
  317. naming authorities over their own subnamespaces.  Rules for
  318. canonicalization will be discussed further in the framework section
  319. below.  Thus, there are assumptions of independence and isolation to
  320. allow for delegated, independent authority in a variety of domains.
  321.  
  322.                                  - 5 -
  323.  
  324. The modularity assumptions of delegation and isolation imply
  325. independence of decision and implementation, leading to a
  326. decentralization that provides a certain degree of safety from denial
  327. of service.  Based on these these assumptions in conjunction with that
  328. of longevity and those for URLs and URNs as detailed in RFCs 1736 and
  329. 1737, we can now turn to the guidelines for an RDS.
  330.  
  331. 3. Guidelines
  332.  
  333. The guidelines applying to an RDS center around three important design
  334. principles in the areas of evolvability, usability, and security and
  335. privacy.  At its core the function of an RDS is to provide hints for
  336. accessing a resource given a URN for it.  These hints may range in
  337. applicability from local to global, and from short-lived to
  338. long-lived.  They also may vary in their degree of verifiable
  339. authenticity.  While it may be neither feasible nor necessary that
  340. initial implementations support every guideline, every implementation
  341. must support evolution to systems that do support the guidelines more
  342. fully.
  343.  
  344. It is important to note that there are requirements, not applicable
  345. specifically to an RDS that must also be met.  A whole URN system will
  346. consist of names in namespaces, the resolution information for them, and
  347. the mapping from names in the namespaces to resolution information (or
  348. hints).  URNs themselves must meet the requirements of RFC 1737.  In
  349. addition, namespaces themselves must meet certain requirements as
  350. described by the URN Working Group[4].  Although all these requirements
  351. and guidelines are not described here, they must be supported to provide
  352. an acceptable system.
  353.  
  354. Each section below begins with a summary of the points made in that
  355. section.  There is some degree of overlap among the areas, such as in
  356. allowing for the evolution of security mechanisms, etc., and hence
  357. issues may be addressed in more than one section.  It is also
  358. important to recognize that conformance with the guidelines will often
  359. be subjective.  As with many IETF guidelines and requirements, many of
  360. these are not quantifiable and hence conformance is a judgment call
  361. and a matter of degree.  Lastly, the reader may find that some of them
  362. are those of general applicability to distributed systems and some are
  363. specific to URN resolution.  Those of general applicability are
  364. included for completeness and are not distinguished as such.
  365.  
  366. 3.1 Evolution
  367.  
  368. The issues in the area of the first principle, that of evolvability,
  369. are:
  370.  
  371.     1.1) An RDS must be able to support scaling in at least three
  372.          dimensions: the number of resources for which URNs will be
  373.          required, the number of publishers and users of those
  374.          resources, and the complexity of the delegation, as authority
  375.          for resolution grows and possibly reflects delegation in
  376.          naming authority;
  377.     1.2) A hint resolution environment must support evolution of 
  378.          mechanisms, specifically for:
  379.          * a growing set of URN schemes;
  380.  
  381.                                  - 6 -
  382.  
  383.          * new kinds local URN resolver services;
  384.          * new authentication schemes;
  385.          * alternative RDS schemes active simultaneously;
  386.     1.3) An RDS must allow the development and deployment of
  387.          administrative control mechanisms to manage human behavior
  388.          with respect to limited resources. 
  389.  
  390. One of the lessons of the Internet that we must incorporate into the
  391. development of mechanisms for resolving URNs is that we must be prepared
  392. for change.  Such changes may happen slowly enough to be considered
  393. evolutionary modifications of existing services, or dramatically enough
  394. to be considered revolutionary.  They may permeate the Internet universe
  395. bit by bit, living side by side with earlier services or they may take
  396. the Internet by storm, causing an apparent complete transformation over
  397. a short period of time.  There are several directions in which we can
  398. predict the need for evolution.  At the very least, the community and
  399. the mechanisms proposed should be prepared for these.
  400.  
  401. First, scaling is a primary issue in conjunction with evolution.  The
  402. number of users, both human and electronic, as well as the number of
  403. resources will continue to grow exponentially for the near term, at
  404. least.  Hence the number of URNs will also increase similarly.  In
  405. addition, with growth in sheer numbers is likely to come growth in the
  406. delegation of both naming authority and resolution authority.  These
  407. facts mean that an RDS design must be prepared to handle increasing
  408. numbers of requests for inclusion, update and resolution, in a set of
  409. RDS servers perhaps inter-related in more complex ways.  This is not
  410. to say that there will necessarily be more updates or resolutions per
  411. URN; we cannot predict that at this time.  But, even so, the
  412. infrastructure may become more complex due to delegation, which may
  413. (as can be seen in Section 4 on the framework) lead to more complex
  414. rules for rewriting or extracting terms for staged resolution.  Any
  415. design is likely to perform less well above some set of limits, so it
  416. is worth considering the growth limitations of each design
  417. alternative.
  418.  
  419. Second, we expect there to be additions and changes to the mechanisms.
  420. The community already understands that there must be a capacity for
  421. new URN schemes, as described in [4].  A URN scheme will define a set
  422. of URNs that meet the URN requirements[2], but may have further
  423. constraints on the internal structure of the URN. The intention is
  424. that URN schemes can be free to specify parts of the URN that are left
  425. opaque in the larger picture.  In fact, a URN scheme may choose to
  426. make public or keep private the algorithms for any such "opaque" part
  427. of the URN.  In any case, we must be prepared for a growing number of
  428. URN schemes.
  429.  
  430. Often in conjunction with a new URN scheme, but possibly independently
  431. of any particular URN scheme, new kinds of resolver services may
  432. evolve.  For example, one can imagine a specialized resolver service
  433. based on the particular structure of ISBNs that improves the
  434. efficiency of finding documents given their ISBNs.  Alternatively, one
  435. can also imagine a general purpose resolver service that trades
  436. performance for generality; although it exhibits only average
  437. performance resolving ISBNs, it makes up for this weakness by
  438. understanding all existing URN schemes, so that its clients can use
  439.  
  440.                                  - 7 -
  441.  
  442. the same service to resolve URNs regardless of naming scheme.  In this
  443. context, there will always be room for improvement of services,
  444. through improved performance, better adaptability to new URN schemes,
  445. or lower cost, for example.  New models for URN resolution will evolve
  446. and we must be prepared to allow for their participation in the
  447. overall resolution of URNs.
  448.  
  449. If we begin with one overall plan for URN resolution, into which the
  450. enhancements described above may fit, we must also be prepared for an
  451. evolution in the authentication schemes that will be considered either
  452. useful or necessary in the future.  There is no single globally
  453. accepted authentication scheme, and there may never be one.  Even if
  454. one does exist at some point in time, we must always be prepared to
  455. move on to newer and better schemes, as the old ones become too easily
  456. spoofed or guessed.
  457.  
  458. In terms of mechanism, although we may develop and deploy a single RDS
  459. scheme initially, we must be prepared for that top level model to
  460. evolve.  Thus, if the RDS model supports an apparently centralized
  461. (from a policy standpoint) scheme for inserting and modifying
  462. authoritative information, over time we must be prepared to evolve to
  463. a different model, perhaps one that has a more distributed model of
  464. authority and authenticity.  If the model has no core but rather a
  465. cascaded partial discovery of information, we may find that this
  466. becomes unmanageable with an increase in scaling.  Whatever the model,
  467. we must be prepared for it to evolve with changes in scaling,
  468. performance, and policy constraints such as security and cost.
  469.  
  470. The third evolutionary issue is even more mechanical than the others.
  471. At any point in time, the community is likely to be supporting a
  472. compromise position with respect to resolution.  We will probably be
  473. operating in a situation balanced between feasibility and the ideal,
  474. perhaps with policy controls used to help stabilize use of the
  475. service.  Ideally, the service would be providing exactly what the
  476. customers wanted and they in turn would not request more support than
  477. they need, but it seems extremely unlikely.  Since we will almost
  478. always be in a situation in which some service provision resources
  479. will be in short supply, some form of policy controls will generally
  480. be necessary.  Some policy controls may be realized as mechanisms
  481. within the servers or in the details of protocols, while others may
  482. only be realized externally to the system.  For example, suppose hint
  483. entries are being submitted in such volume that the hint servers are
  484. using up their excess capacity and need more disk space.  Two
  485. suggestions for policy control are pricing and administrative.  As
  486. technology changes and the balance of which resources are in short
  487. supply changes, the mechanisms and policies for controlling their use
  488. must evolve as well.
  489.  
  490. 3.2 Usability
  491.  
  492. To summarize, the usability guidelines fall into three areas based on
  493. participation in hint management and discovery:
  494.  
  495.     2.1) The publisher
  496.        2.1.1) URN to hint resolution must be correct and efficient with
  497.               very high probability;
  498.  
  499.                                  - 8 -
  500.  
  501.        2.1.2) Publishers must be able to select and move among URN 
  502.               resolver services to locate their resources;
  503.        2.1.3) Publishers must be able to arrange for multiple access
  504.               points for their location information;
  505.        2.1.4) Publishers should be able to provide hints with varying
  506.               lifetimes;
  507.        2.1.5) It must be relatively easy for publishers to specify to
  508.               the management and observe their hint information as well
  509.               as any security constraints they need for their hints.
  510.     2.2) The client
  511.        2.2.1) The interface to the RDS must be simple, effective, and
  512.               efficient;
  513.        2.2.2) The client and client applications must be able to
  514.               understand the information stored in and provided by the
  515.               RDS easily, in order to be able to make informed choices.
  516.     2.3) The management
  517.        2.3.1) The management of hints must be as unobtrusive as
  518.               possible, avoiding using too many network resources;
  519.        2.3.2) The management of hints must allow for administrative
  520.               controls that encourage certain sorts of behavior deemed
  521.               necessary to meet other requirements;
  522.        2.3.3) The configuration and verification of configuration of
  523.               individual RDS servers must be simple enough not to
  524.               discourage configuration and verification.
  525.  
  526. Usability can be evaluated from three distinct perspectives: those of a
  527. publisher wishing to make a piece of information public, those of a
  528. client requesting URN resolution, and those of the provider or manager
  529. of resolution information.  We will separately address the usability
  530. issues from each of these three perspectives.  It is important to
  531. recognize that these may be sitautions in which interests of some of
  532. the participants (for exampel a use and a publisher) may be in
  533. conflict; some resolution will be needed.
  534.  
  535. It is worth noting that there are two additional sorts of participants
  536. in the whole naming process, as discussed in the URN WG.  They are the
  537. naming authorities which choose and assign names, and the authors who
  538. include URNs in their resources.  These two are not relevant to the
  539. design of an RDS and hence are not discussed further here.
  540.  
  541. 3.2.1 The Publisher
  542.  
  543. The publisher must be able to make URNs known to potential customers.
  544. >From the perspective of a publisher, it is of primary importance that
  545. URNs be correctly and efficiently resolvable by potential clients with
  546. very high probability.  Publishers stand to gain from long-lived URNs,
  547. since they increase the chance that references continue to point to
  548. their published resources.
  549.  
  550. The publisher must also be able to choose easily among a variety of
  551. potential services that might translate URNs to location information.
  552. In order to allow for this mobility among resolvers, the RDS
  553. architecture must support such transitions, within policy control
  554. bounds.  It is worth noting that although multiple listing services
  555. are available in telephone books, they are generally accompanied by a
  556. fee.  There is nothing preventing there being fees collected for
  557. similar sorts of services with respect to URNs.
  558.                                  - 9 -
  559.  
  560. The publisher must be able to arrange for multiple access points to a
  561. published resource.  For this to be useful, resolver services should
  562. be prepared to provide different resolution or hint information to
  563. different clients, based on a variety of information including
  564. location and the various access privileges the client might have.  It
  565. is important to note that this may have serious implications for
  566. caching this information.  For example, companies might arrange for
  567. locally replicated copies of popular resources, and would like to
  568. provide access to the local copies only for their own employees.  This
  569. is distinct from access control on the resource as a whole, and may be
  570. applied differently to different copies.
  571.  
  572. The publisher should be able to provide both long and short term
  573. location information about accessing the resource.  Long term
  574. information is likely to be such information as the long term address
  575. of a resource itself or the location or identity of a resolver service
  576. with which the publisher has a long term relationship.  One can
  577. imagine that the arrangement with such a long term "authoritative"
  578. resolver service might be a guarantee of reliability, resiliency to
  579. failure, and atomic updates.  Shorter term information is useful for
  580. short term changes in services or to avoid short lived congestion or
  581. failure problems.  For example, if the actual repository of the
  582. resource is temporarily inaccessible, the resource might be made
  583. available from another repository.  This short term information can be
  584. viewed as temporary refinements of the longer term information, and as
  585. such should be more easily and quickly made available, but may be less
  586. reliable.  Some RDS designs may not distinguish between these two
  587. extremes.
  588.  
  589. Lastly, the publishers will be the source of much hint information
  590. that will be stored and served by the manager of the infrastructure.
  591. Despite the fact that many publishers will not understand the details
  592. of the RDS mechanism, it must be easy and straightforward for them to
  593. install hint information.  This means that in general any one who
  594. wishes to publish and to whom the privilege of resolution has been
  595. extended through delegation, can do so.  The publisher must be able
  596. not only to express hints, but also to verify that what is being
  597. served by the manager is correct.  Furthermore, to the extent that
  598. there are security constraints on hint information, the publisher must
  599. be able to both express them and verify compliance with them easily.
  600.  
  601. 3.2.2 The Client
  602.  
  603. >From the perspective of the client, simplicity and usability are
  604. paramount.  Of critical importance to serving clients effectively is
  605. that there be an efficient protocol through which the client can
  606. acquire hint information.  Since resolving the name is only the first
  607. step on the way to getting access to a resource, the amount of time
  608. spent on it must be minimized.
  609.  
  610. Furthermore, it will be important to be able to build simple, standard
  611. interfaces to the RDS so that both the client and applications on the
  612. client's behalf can interpret hints and subsequently make informed
  613. choices.  The client, perhaps with the assistance of the application,
  614. must be able to specify preferences and priorities and then apply them.
  615. If the ordering of hints is only partial, the client may become directly
  616.  
  617.                                  - 10 -
  618.  
  619. involved in the choice and interpretation of them and hence they must be
  620. understandable to that client.  On the other hand, in general it should
  621. be possible to configure default preferences, with individual
  622. preferences viewed as overriding any defaults.
  623.  
  624. >From the client's perspective, although URNs will provide important
  625. functionality, the client is most likely to interact directly only with
  626. human friendly names (HFNs).  As in direct human interaction (not
  627. computer mediated), the sharing of names will be on a small, private, or
  628. domain specific scale.  HFNs will be the sorts of references and names
  629. that are easy to remember, type, choose among, assign, etc.  There will
  630. also need to be a number of mechanisms for mapping HFNs to URNs.  Such
  631. services as "yellow pages" or "search tools" fall into this category.
  632. Although we are mentioning HFNs here, it is important to recognize that
  633. HFNs and the mappings from HFNs to URNs is and must remain a separate
  634. functionality from an RDS.  Hence, although HFNs will be critical to
  635. clients, they do not fall into the domain of this document.
  636.  
  637. 3.2.3 The Management
  638.  
  639. Finally, we must address the usability concerns with respect to the
  640. management of the hint infrastructure itself.  What we are terming
  641. "management" is a service that is distinct from publishing; it is the
  642. core of an RDS.  It involves the storage and provision of hints to the
  643. clients, so that they can find published resources.  It also provides
  644. security with respect to name resolution to the extent that there is a
  645. commitment for provision of such security; this is addressed in
  646. Section 3.3 below.
  647.  
  648. The management of hints must be as unobtrusive as possible. First, its
  649. infrastructure (hint storage servers and distribution protocols) must
  650. have as little impact as possible on other network activities.  It must
  651. be remembered that this is an auxiliary activity and must remain in the
  652. background.
  653.  
  654. Second, in order to make hint management feasible, there may need to
  655. be a system for administrative incentives and disincentives such as
  656. pricing or legal restrictions.  Recovering the cost of running the
  657. system is only one reason for levying charges.  The introduction of
  658. payments often has an impact on social behavior.  It may be necessary
  659. to discourage certain forms of behavior that when out of control have
  660. serious negative impact on the whole community.  At the same time, any
  661. administrative policies should encourage behavior that benefits the
  662. community as a whole.  Thus, for example, a small one-time charge for
  663. authoritatively storing a hint might encourage conservative use of
  664. hints.  If we assume that there is a fixed cost for managing a hint,
  665. then the broader its applicability across the URN space, the more cost
  666. effective it is.  That is, when one hint can serve for a whole
  667. collection of URNs, there will be an incentive to submit one general
  668. hint over a large number of more specific hints.  Similar policies can
  669. be instituted to discourage the frequent changing of hints.  In these
  670. ways and others, behavior benefitting the community as a whole can be
  671. encouraged.
  672.  
  673. Lastly, symmetric to issues of usability for publishers, it must also be
  674. simple for the management to configure the mapping of URNs to hints.  It
  675.  
  676.                                  - 11 -
  677.  
  678. must be easy both to understand the configuration and to verify that
  679. configuration is correct.  With respect to management, this issue may
  680. have an impact not only on the information itself but also on how it is
  681. partitioned among network servers that collaboratively provide the
  682. management service or RDS.  For example, it should be straightforward to
  683. bring up a server and verify that the data it is managing is correct.
  684. Although this is not a guideline, it is worth nothing that since we are
  685. discussing a global and probably growing service, encouraging volunteer
  686. participants suggests that, as with the DNS, such volunteers can feel
  687. confident about the service they are providing and its benefit to both
  688. themselves and the rest of the community.
  689.  
  690. 3.3 Security and Privacy
  691.  
  692. In summary, security and privacy guidelines can be identified as some
  693. degree of protection from threats.  The guidelines that fall under
  694. this third principle, that of security, are all stated in terms of
  695. possibilities or options for users of the service to require and
  696. utilize.  Hence they address the availability of functionality, but
  697. not for the use of it.  We recognize that all security is a matter of
  698. degree and compromise.  These may not satisfy all potential customers,
  699. and there is no intention here to prevent the building of more secure
  700. servers with more secure protocols to suit their needs.  These are
  701. intended to satisfy the needs of the general public.
  702.  
  703.     3.1) It must be possible to create authoritative versions of a hint
  704.          with access-to-modification privileges controlled;
  705.     3.2) It must be possible to determine the identity of servers or
  706.          avoid contact with unauthenticated servers;
  707.     3.3) It must be possible to reduce the threat of denial of service
  708.          by broad distribution of information across servers;
  709.     3.4) It must be possible within the bounds of organizational
  710.          policy criteria to provide at least some degree of privacy
  711.          for traffic;
  712.     3.5) It must be possible for publishers to keep private certain
  713.          information such as an overall picture of the resources they
  714.          are publishing and the identity of their clients;
  715.     3.6) It must be possible for publishers to be able to restrict
  716.          access to the resolution of the URNs for the resources they
  717.          publish, if they wish. 
  718.  
  719. When one discusses security, one of the primary issues is an enumeration
  720. of the threats being considered for mitigation.  The tradeoffs often
  721. include cost in money and computational and communications resources,
  722. ease of use, likelihood of use, and effectiveness of the mechanisms
  723. proposed.  With this in mind, let us consider a set of threats.
  724.  
  725. Voydock and Kent[5] provide a useful catalog of potential threats.  Of
  726. these the passive threats to privacy or confidentiality and the active
  727. threats to authenticity and integrity are probably the most important
  728. to consider here.  To the extent that spurious association causes
  729. threats to the privacy, authenticity, or integrity with respect to
  730. information within servers managing data, it is also important.
  731. Denial of service is probably the most difficult of these areas of
  732. threats both to detect and to prevent, and we will therefore set it
  733. aside for the present as well, although it will be seen that solutions
  734.  
  735.                                  - 12 -
  736.  
  737. to other problems will also mitigate some of the problems of denial of
  738. service.  Furthermore, because this is intended to be provide a global
  739. service to meet the needs of a variety of communities, the engineering
  740. tradeoffs will be different for different clients.  Hence the
  741. guidelines are stated in terms of, "It must be possible..."  It is
  742. important to note that the information of concern here is hint
  743. information, which by nature is not guaranteed to be correct or
  744. up-to-date; therefore, it is unlikely to be worth putting too much
  745. expense into the correctness of hints, because there is no guarantee
  746. that they are still correct anyway.  The exact choice of degree of
  747. privacy, authenticity, and integrity must be determined by the needs
  748. of the client and the availability of services from the server.
  749.  
  750. To avoid confusion it is valuable to highlight the meanings of terms
  751. that have different meanings in other contexts.  In this case, the
  752. term "authoritative" as it is used here connotes the taking of an
  753. action or stamp of approval by a principal (again in the security
  754. sense) that has the right to perform such an act of approval.  It has
  755. no implication of correctness of information, but only perhaps an
  756. implication of who claimed it to be correct.  In contrast, the term is
  757. often also used simply to refer to a primary copy of a piece of
  758. information for which there may also be secondary or cached copies
  759. available.  In this discussion of security we use the former meaning,
  760. although it may also be important to be able to learn about whether a
  761. piece of information is from a primary source or not and request that
  762. it be primary.  This second meaning arises elsewhere in the document
  763. and is so noted there.
  764.  
  765. It is also important to distinguish various possible meanings for
  766. "access control".  There are two areas in which distinctions can be
  767. made.  First, there is the question of the kind of access control that
  768. is being addressed, for example, in terms of hints whether it is read
  769. access, read and modify access, or read with verification for
  770. authenticity.  Second, there is the question of to what access is being
  771. controlled.  In the context of naming it might be the names themselves
  772. (not the case for URNs), the mapping of URNs to hints (the business of
  773. an RDS), the mapping of URNs to addresses (not the business of an RDS as
  774. will be discussed below in terms of privacy), or the resource itself
  775. (unrelated to naming or name resolution at all).  We attempt to be clear
  776. about what is meant when using "access control".
  777.  
  778. There is one further issue to address at this point, the distinction
  779. between mechanism and policy.  In general, a policy is realized by means
  780. of a set of mechanisms.  In the case of an RDS there may be policies
  781. internal to the RDS that it needs to have supported in order to do its
  782. business as it sees fit.  Since, in general it is in the business of
  783. storing and distributing information, most of its security policies may
  784. have to do with maintaining its own integrity, and are rather limited.
  785. Beyond that, to the degree possible, it should impose no policy on its
  786. customers, the publishers and users.  It is they that may have policies
  787. that they would like supported by the RDS.  To that end, an RDS should
  788. provide a spectrum of "tools" or mechanisms that the customers can cause
  789. to be deployed on their behalf to realize policies.  An RDS may not
  790. provide all that is needed by a customer.  A customer may have different
  791. requirements within his or her administrative bounds than outside.
  792. Thus, "it must be possible..."  captures the idea that the RDS must
  793.  
  794.                                  - 13 -
  795.  
  796. generally provide the tools to implement policies as needed by the
  797. customers.
  798.  
  799. The first approach to URN resolution is to discover local hints.  In
  800. order for hints to be discovered locally, they will need to be as widely
  801. distributed as possible to what is considered to be local for every
  802. locale.  The drawback of such wide distribution is the wide distribution
  803. of updates, causing network traffic problems or delays in delivering
  804. updates.  An alternative model would concentrate hint information in
  805. servers, thus requiring that update information only be distributed to
  806. these servers.  In such a model the vulnerable points are the sources of
  807. the information and the distribution network among them.  Attackers on
  808. the integrity of the information stored in a server may come in the form
  809. of masquerading as the owner or the server of the information.  Wide
  810. replication of information among servers increases the difficult of
  811. masquerading at all the locations of the information as well as reducing
  812. the threat of denial service.  These lead us to three identifiable
  813. guidelines for our security model:
  814.  
  815. * ACCESS CONTROL ON HINTS: It must be possible to create an
  816.   authoritative version of each hint with change control limited only
  817.   to those principals with the right to modify it.  The choice of who
  818.   those principals are or whether they are unlimited must be made by
  819.   the publisher of a hint.
  820.  
  821. * SERVER AUTHENTICITY: Servers and clients must be able to learn the
  822.   identity of the servers with which they communicate.  This will be a
  823.   matter of degree and it is possible that there will be more
  824.   trustworthy, but less accessible servers, supported by a larger 
  825.   cluster of less authenticatable servers that are more widely
  826.   available.  In the worst case, if the client receives what appears to
  827.   be unvalidated information, the client should assume that the hint
  828.   may be inaccurate and confirmation of the data might be sought from
  829.   more reliable but less accessible sources.
  830.  
  831. * SERVER DISTRIBUTION: Broad availability will provide resistance to
  832.   denial of service.  It is only to the extent that the services are
  833.   available that they provide any degree of trustworthiness.  In
  834.   addition, the distribution of services will reduce vulnerability
  835.   of the whole community, by reducing the trust put in any single
  836.   server.  This must be mitigated by the fact that to the extent trust
  837.   is based on a linked set of servers, if any one fails, the whole
  838.   chain of trust fails; the more elements there are in such a chain,
  839.   the more vulnerable it may become.
  840.  
  841. Privacy can be a double-edged sword.  For example, on one hand, an
  842. organization may consider it critically important that its competitors
  843. not be able to read its traffic.  On the other hand, it may also
  844. consider it important to be able to monitor exactly what its employees
  845. are transmitting to and from whom, for a variety of reasons such as
  846. reducing the probability that its employees are giving or selling the
  847. company's secrets to verifying that employees are not using company
  848. resources for private endeavor.  Thus, although there are likely to be
  849. needs for privacy and confidentiality, what they are, who controls
  850. them and how, and by what mechanisms vary widely enough that it is
  851. difficult to say anything concrete about them here.
  852.  
  853.                                  - 14 -
  854.  
  855. The privacy of publishers is much easier to address.  Since they are
  856. trying to publish something, in general privacy is probably not desired.
  857. However, publishers do have information that they might like to keep
  858. private: information about who their clients are, and information about
  859. what names exist in their namespace.  The information about who their
  860. clients are may be difficult to collect depending on the implementation
  861. of the resolution system.  For example, if the resolution information
  862. relating to a given publisher is widely replicated, the hits to _each_
  863. replicated copy would need to be recorded.  Of course, determining if a
  864. specific client is requesting a given name can be approached from the
  865. other direction, by watching the client as we saw above.
  866.  
  867. There are likely to be some publishers publishing for a restricted
  868. audience.  To the extent they want to restrict access to a resource,
  869. that is the responsibility of the repository providing and restricting
  870. access to the resource.  If they wish to keep the name and hints for a
  871. resource private, a public RDS may be inadequate for their needs.  In
  872. general, it is intended for those who want customers to find their
  873. resources in an unconstrained fashion.
  874.  
  875. The final privacy issue for publishers has to do with access control
  876. over URN resolution.  This issue is dependent on the implementation of
  877. the publisher's authoritative (in the sense of "primary) URN resolver
  878. server.  URN resolver servers can be designed to require proof of
  879. identity in order to be issued resolution information; if the client
  880. does not have permission to access the URN requested, the service denies
  881. that such a URN exists.  An encrypted protocol can also be used so that
  882. both the request and the response are obscured.  Encryption is possible
  883. in this case because the identity of the final recipient is known (i.e.
  884. the URN server).  Thus, access control over URN resolution can and
  885. should be provided by resolver servers rather than an RDS.
  886.  
  887. 4. The Framework
  888.  
  889. With these assumptions and guidelines in mind, we conclude with a
  890. general framework within which RDS designs may fall.  As stated
  891. earlier, although this framework is put forth as a suggested guide for
  892. RDS designers, compliance with it will in no way guarantee compliance
  893. with the guidelines.  Such an evaluation must be performed separately.
  894. All such lack of compliance should be clearly documented.
  895.  
  896. The design of the framework is based on the syntax of a URN as
  897. documented in RFC-2141[6].  This is:
  898.  
  899.     URN:<NID>:<NSS>
  900.  
  901. where URN: is a prefix on all URNs, NID is the namespace identifier, and
  902. NSS is the namespace specific string.  The prefix identifies each URN as
  903. such.  The NID determines the general syntax for all URNs within its
  904. namespace.  The NSS is probably partitioned into a set of delegated and
  905. subdelegated namespaces, and this is possibly reflected in further
  906. syntax specifications.  In more complex environments, each delegated
  907. namespace will be permitted to choose the syntax of the variable part of
  908. the namespace that has been delegated to it.  In simpler namespaces, the
  909. syntax will be restricted completely by the parent namespace.  For
  910. example, although the DNS does not meet all the requirements for URNs,
  911.  
  912.                                  - 15 -
  913.  
  914. it has a completely restricted syntax, such that any further structuring
  915. must be done only by adding further refinements to the left, maintaining
  916. the high order to low order, right to left structure.  A delegated
  917. syntax might be one in which a host is named by the DNS, but to the
  918. right of that and separated by an "@" is a string whose internal
  919. ordering is defined by the file system on the host, which may be defined
  920. high order to low order, left to right.  Of course, much more complex
  921. and nested syntaxes should be possible, especially given the need to
  922. grandfather namespaces.  In order to resolve URNs, rules will be needed
  923. for two reasons.  One is simply to canonicalize those namespaces that do
  924. not fall into a straightforward (probably right to left or left to
  925. right) ordering of the components of a URN, as determined by the
  926. delegated naming authorities involved.  It is also possible that rules
  927. will be needed in order to derive from URNs the names of RDS servers to
  928. be used in stages.
  929.  
  930.  
  931.                             URN:<NID><NSS>
  932.                                  |
  933.                                  |
  934.                                  |
  935.                                  |
  936.                                  v
  937.                        +-------------------+
  938.                        |Global NID registry|
  939.                        +-------------------+
  940.                                  |
  941.                                              |
  942.                                  |
  943.               (return rule or URN resolver service reference)
  944.                                  |
  945.                                  +----------------------------------+
  946.                                  |                                  |
  947.                        +->(apply rule to determine RDS server)        |
  948.                |         |                    |
  949.                |         |                    |
  950.                |         |                    |
  951.                        |    +----------+                |
  952.                        |    |RDS server|      +-----------------+
  953.                        |    +----------+      |
  954.                        |      |      |          v
  955.                 |      |      |   (set of choices)
  956.                 |      |      +----+----------(...)--------+
  957.                        |   (rule)      |                       |
  958.                        |      |           |               |
  959.                 |      |           |               |
  960.                 +------+           |               |
  961.                               v               v
  962.                    +----------+          +----------+
  963.                                   |URN         |            |URN         |
  964.                                   |resolver  |          |resolver  |
  965.                                   |service   |          |service   |
  966.                    +----------+          +----------+
  967.  
  968.  
  969.  
  970.         Figure 1: An RDS framework
  971.                                  -16 -
  972.  
  973. The NID defines a top level syntax.  This syntax will determine whether
  974. the NID alone or in conjunction with some extraction from the NSS (for
  975. the top level naming authority name) is to be used to identify the first
  976. level server to be contacted.  At each stage of the lookup either a new
  977. rule for generating the strings used in yet another lookup (the strings
  978. being the identity of another RDS server and possibly a string to be
  979. resolved if it is different than the original URN) or a reference
  980. outside the RDS to a URN resolver service, sidestepping any further use
  981. of the RDS scheme.  Figure 1 depicts this process.
  982.  
  983. There are several points worth noting about the RDS framework.  First,
  984. it leaves open the determination of the protocols, data organization,
  985. distribution and replication needed to support a particular RDS
  986. scheme.  Second, it leaves open the location of the computations
  987. engendered by the rules.  Third, it leaves open the possibility that
  988. partitioning (distribution) of the RDS database need not be on the
  989. same boundaries as the name delegation.  This may seem radical to
  990. some, but if the information is stored in balanced B-trees for
  991. example, the partitioning may not be along those naming authority
  992. delegation boundaries (see [7]).  Lastly, it leaves open access to the
  993. Global NID Registry.  Is this distributed to every client, or managed
  994. in widely distributed servers?  It is important to note that it is the
  995. intention here that a single RDS scheme is likely to support names from
  996. many or all naming schemes, as embodied in their NIDs.
  997.  
  998. One concept that has not been addressed in Figure 1 is that there may be
  999. more than one RDS available at any given time, in order to allow for
  1000. evolution to new schemes.  Thus, the picture should probably look more
  1001. like Figure 2.
  1002.  
  1003.  
  1004.                          URN:<NID>:<NSS>
  1005.                                |
  1006.                        |
  1007.            +-----------+-------(...)-------+
  1008.            |                   |
  1009.            |                   |
  1010.            |                   |
  1011.            v                   v
  1012.      +---------------------+    +---------------------+
  1013.      |Global NID registry 1|        |Global NID registry N|
  1014.      +---------------------+        +---------------------+
  1015.                    .                               .
  1016.                    .                               .
  1017.                    .                               .
  1018.  
  1019.  
  1020.         Figure 2: More than one co-existing RDS scheme
  1021.  
  1022.  
  1023. If we are to support more than one co-existing RDS scheme, there will
  1024. need to be coordination among them with respect to storage and
  1025. propagation of information and modifications.  The issue is that
  1026. generally it should be assumed that all information should be available
  1027. through any operational RDS scheme.  One cannot expect potential
  1028. publishers to submit updates to more than one RDS scheme.  Hence there
  1029.  
  1030.                                  - 17 -
  1031.  
  1032. will need to be a straightforward mapping of information from one to the
  1033. other of these schemes.  It is possible that that transformation will
  1034. only go in one direction, because a newer RDS service is replacing an
  1035. older one, which is not kept up to date, in order to encourage transfer
  1036. to the newer one.  Thus, at some point, updates may be made only to the
  1037. newer one and not be made available to the older one, as is often done
  1038. with library catalogs.
  1039.  
  1040. This framework is presented in order to suggest to RDS scheme designers
  1041. a direction in which to start designing.  It should be obvious to the
  1042. reader that adherence to this framework will in no way guarantee
  1043. compliance with the guidelines or even the assumptions described in
  1044. Sections 2 and 3.  These must be reviewed independently as part of the
  1045. design process.  There is no single correct design that will conform to
  1046. these guidelines.  Furthermore, it is assumed that preliminary proposals
  1047. may not meet all the guidelines, but should be expected to itemized and
  1048. justify any lack of compliance.
  1049.  
  1050. 5. Acknowledgments
  1051.  
  1052. Foremost acknowledgment for this document goes to Lewis Girod, as my
  1053. co-author on a preliminary URN requirements document and for his
  1054. insightful comments on this version of the document.  Thanks also go
  1055. to Ron Daniel especially for his many comments on my writing.  In
  1056. addition, I recognize the contributors to a previous URN framework
  1057. document, the "Knoxville" group.  There are too many of you to
  1058. acknowledge here individually, but thank you.  Finally, I must thank
  1059. the contributors to the URN working group and mailing list
  1060. (urn-ietf@bunyip.com), for your animated discussions on these and
  1061. related topics.
  1062.  
  1063. 6. References
  1064.  
  1065. [1] Kunze, J., "Functional Recommendations for Internet Resource
  1066. Locators", RFC 1736, February, 1995.
  1067.  
  1068. [2] Sollins, K. and Masinter, L., "Functional Requirements for Uniform
  1069. Resource Names", RFC 1738, December, 1994.
  1070.  
  1071. [3] Berners-Lee, T., Masinter, L., McCahill, M., "Uniform Resource
  1072. Locators (URL)", RFC 1738, December, 1994.
  1073.  
  1074. [4] URN Working Group, "Namespace Identifier Requirements for URN
  1075. Services," work in progress.
  1076.  
  1077. [5] Voydock, V. L., and Kent, S. T., "Security Mechanisms in
  1078. High-Level Protocols", ACM Computing Surveys, v. 15, No. 2, June,
  1079. 1983, pp. 135-171.
  1080.  
  1081. [6] Moats, R., "URN Syntax", RFC 2141, May 1997.
  1082.  
  1083. [7] Slottow, E.G., "Engineering a Global Resolution Service,"
  1084. MIT-LCS-TR712, June, 1997.  Currently available as
  1085. <http://ana.lcs.mit.edu/anaweb/ps-papers/tr-712.ps> or
  1086. <http://ana.lcs.mit.edu/anaweb/pdf-papers/tr712.pdf>.
  1087.  
  1088.                                  - 18 -
  1089.  
  1090. 7. Contact information:
  1091.  
  1092. Karen Sollins
  1093. MIT Laboratory for Computer Science
  1094. 545 Technology Sq.
  1095. Cambridge, MA 02139
  1096.  
  1097. Tel: +1 617 253 6006
  1098. Email: sollins@lcs.mit.edu
  1099.  
  1100. This Internet Draft expires on March 26, 1998.
  1101.  
  1102.  
  1103.  
  1104.  
  1105.  
  1106.  
  1107.  
  1108.  
  1109.  
  1110.  
  1111.  
  1112.  
  1113.  
  1114.  
  1115.  
  1116.  
  1117.  
  1118.  
  1119.  
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126.  
  1127.  
  1128.  
  1129.  
  1130.  
  1131.  
  1132.  
  1133.  
  1134.  
  1135.  
  1136.  
  1137.  
  1138.  
  1139.  
  1140.  
  1141.  
  1142.  
  1143.  
  1144.  
  1145.  
  1146.  
  1147.                                  - 19 -